package org.starsource.forum.server.dao;

import java.util.Set;

import org.starsource.forum.client.exception.DatabaseException;
import org.starsource.forum.client.exception.SessionNotFoundException;
import org.starsource.forum.server.domain.Category;
import org.starsource.forum.server.domain.Session;
/**
 * @author james
 *
 */
public interface SessionDao {
	public void save(Session session) throws DatabaseException;
	public void update(Session session) throws DatabaseException;
	public void delete(Session session) throws DatabaseException;

	public Session getSession(int id) throws SessionNotFoundException, DatabaseException;

	public Set<Session> getSessionSet() throws DatabaseException;
	public Set<Session> getSessionSet(Category category) throws DatabaseException;
	public Set<Session> getSessionSet(Set<Category> categories) throws DatabaseException;
	public Set<Session> getSessionSetByKeywords(String[] keywords) throws DatabaseException;
}